﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using Medianamik.Core;

namespace Medianamik.UI.Web.MVP.View
{
    public interface IViewWithGrid : IModuleView
    {
        HyperLink AddButton { get; }
        void AddTypeSelectorWindow();
        void AddDeleteNodeWindow();
        int PageIndex { get; set; }
        IEnumerable<IMedianamikDTO> DataSource { set; }
        int PageSize { get; set; }
        string EditReturnUrl { get; set; }
        string EditPageUrl { get;  set; }
        int TotalCount { set; }
        bool AllowPaging { get; }
        event EventHandler<NumericalEventArgs> PageIndexChanged;
        event EventHandler<NumericalEventArgs> PageSizeChanged;
        event EventHandler<IdEventArgs> LockRequestFailed;
        event EventHandler<ActivationStatusChangedEventArgs> ActivationStatusChanged;
        event EventHandler NodeDeleted;
        IMedianamikGrid Grid { get; }
        void ShowLockInfoTooltip(Guid nodeId);
    }
}
